home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / tools / dfÜ / bbs / tempdemo / tempest / rexx / cn-bugreport.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1995-06-21  |  44.2 KB  |  1,249 lines

  1. /*
  2.                       _____
  3.                      /      __  _ _   __  __    __  _  __  ____
  4.                      \     /  _/  \  /   /     /   /  /   / __
  5.                    ___\   /        \    / __  /   /      / __
  6.                   /      /  \      /   /     /   /  \   /
  7. ______________________________________________________________________________
  8.  
  9.      BugReporter&IdeaBank, © 1994 by Casa Nova, Sysop of Skyline BBS Berlin.
  10.      Written for /T\empest BBS v3.15 or higher Versions. Started: 02-12-94
  11.  
  12.      NOTE: - READ THE DOC !
  13. ______________________________________________________________________________   */
  14.  
  15.  
  16. OPTIONS RESULTS                                 /*--------------------------*/
  17. ARG BBS_NODE                                    /* Grab the Node Number     */
  18. Address value 'TempRexx-'BBS_NODE               /* Tell Arexx where the BBS Is
  19. ----------------------------------------------------------------------------*/
  20. VERS = '1.8'                                /* DON'T CHANGE!          /
  21. ----------------------------------------------------------------------------*/
  22. PROGRAMNAME = 'BugReporter'            /* DON'T CHANGE!         /
  23. ----------------------------------------------------------------------------*/
  24. V_DATE = '08-25-94'                             /* DON'T CHANGE!             /
  25. ---------------------------------------------------------------------------- /
  26. $VER: BugReporter 1.8 (25.08.94) © by Casa Nova, Sysop of Skyline BBS Berlin
  27. ----------------------------------------------------------------------------*/
  28. Bufferflush                                     /*                      */
  29. signal ON ERROR                                 /*                      */
  30. signal ON HALT                                  /*                      */
  31. signal ON SYNTAX                                /*                      */
  32. signal ON FAILURE                               /*                      */
  33. signal ON IOERR                                 /*                      */
  34.                                                 /*----------------------*/
  35. 'BBSIDENTIFY' ABBEREXX                             /* +                    */
  36. TEMP   = (result)                     /* Tempest Version      */
  37.                                                 /*----------------------*/
  38. TEMP_VERS = SUBSTR(TEMP,1,4)            /*                      */
  39. IF TEMP_VERS < '3.15' THEN DO            /*                      */
  40.    MESSAGE                    /*                      */
  41.    MESSAGE '   INFO:  This Tool needs a Tempest Software higher than 3.14a !'
  42.    MESSAGE '          You are still running Tempest 'TEMP
  43.    CALL DONE                    /*                      */
  44. END                        /*                      */
  45. 'Getvar' 0                                      /* UserName             */
  46. RUName = (result)                               /* Name UPPER-CASE      */
  47.  
  48. 'Getvar' 0                                  /* Path where the BBS is*/
  49. BBS    = (result)                              /* located (don't change*/
  50.                                                 /*----------------------*/
  51. 'BBSIDENTIFY ANSI'                              /* Ansi on/off?         */
  52. GFX    = (result)                               /*                      */
  53.                                                 /*----------------------*/
  54.                                                 /*                      */
  55. DATE   = DATE(USA)                      /* DATE            */
  56.                                                 /*----------------------*/
  57. 'GetStr' 16                                     /* +                    */
  58. DAT    = (result)                               /* 30-05-94             */
  59.                                                 /*----------------------*/
  60.                                                 /*                      */
  61. TIM    = TIME()                        /* TIME            */
  62.                                                 /*----------------------*/
  63. 'BBSIDENTIFY' NAME                             /* +                    */
  64. SYSTEM = (result)                     /* Name of BBS        */
  65.                         /*----------------------*/
  66. 'Getvar' 19                                     /*                      */
  67. Baud   = (result)                    /* Baud Rate of User    */
  68.                                                 /*----------------------*/
  69. 'Getvar' 37                                     /*                      */
  70. TL     = (result)                    /* Daily Time Limit    */
  71.                                                 /*----------------------*/
  72. 'Getvar' 39                                     /*                      */
  73. TR     = (result)                    /* Remaining Time      */
  74.                                                 /*----------------------*/
  75. 'Getvar' 0                                      /*                      */
  76. UName  = (result)                     /* User whos ONLINE    */
  77.                                                 /*----------------------*/
  78. 'Getvar' 4                                      /*                      */
  79. LO     = (result)                     /* User`s LOCATION    */
  80.                                                 /*----------------------*/
  81. 'Getvar' 13                                     /*                      */
  82. CT     = (result)                     /* User's Computer-Type    */
  83.                                                 /*----------------------*/
  84. 'Getvar' 94                                     /*                      */
  85. TCT    = (result)                    /* Calls Today          */
  86.                                                 /*----------------------*/
  87. 'Getvar' 20                                     /* User Level           */
  88. LEV    = (result)                               /* (don't change!)      */
  89.                                                 /*----------------------*/
  90. 'Getvar' 128                                    /* User's Option flags  */
  91. UOP    = (result)                               /* (don't change!)      */
  92.                                                 /*----------------------*/
  93. 'Getvar' 18                                     /* UserSlotNumber(User#)*/
  94. SN     = (result)                               /* (don't change!)      */
  95.                                                 /*----------------------*/
  96. 'Getvar' 12                                     /* UploadPath + DONE    */
  97. ULP    = (result)                               /* (don't change!)      */
  98.                                                 /*----------------------*/
  99. 'Getvar' 92                                     /*                      */
  100. LANG   = (result)                               /* Language             */
  101.                                                 /*----------------------*/
  102. 'PATH' 6                                        /* Get the path of the  */
  103. DOORS  = (result)                               /* BBS:DOORS/           */
  104.                                                 /*----------------------*/
  105. 'PATH' 15                                       /* Get the path of the  */
  106. TEXT   = (result)                               /* BBS:TEXT/            */
  107.                                                 /*----------------------*/
  108. 'PATH' 17                                       /* UploadPath + DONE    */
  109. ULP    = (result)                               /* (don't change!)      */
  110.                                                 /*----------------------*/
  111. type   = 'Bugs'                                 /* (don't change!)      */
  112. file10 = DOORS'BugReporter/'type'.txt'          /* (don't change!)      */
  113. fileCon= DOORS'BugReporter/BugReporter.data'    /* (don't change!)      */
  114. /*----------------------------------------------------------------------*/
  115. file0 = 'NODE:DOOR_'BBS_NODE            /* Create NODE:DOOR_#   */
  116. OPEN(fn0,file0,'W')                /* Displays in WHO.mod  */
  117. Writeln(fn0,'BugReporter        ')        /* when this tool is    */
  118. CLOSE(fn0)                               /* used!                */
  119. HEADER1 = MESSAGE ' 'system'  'PROGRAMNAME' 'VERS' 'copies(' ',23-length(system))''copies(' ',15-length(PROGRAMNAME))' Designed by Casa Nova ['V_DATE'] '
  120. HEADER2 = MESSAGE ''COPIES('_',80)''
  121. CLS
  122. MSG
  123. MSG
  124. MSG = MESSAGE
  125.  
  126. MESSAGE
  127. HEADER1
  128. HEADER2
  129. MESSAGE
  130. MESSAGE '                                                              Date: 'DATE()
  131. MESSAGE '                                                              Time: 'TIME()
  132. /*======================================================================*/
  133. /*                            CONFIG / STATS                            */
  134. /*======================================================================*/
  135. STATS:
  136. c=1
  137. IF ~exists(fileCON) THEN DO
  138. MESSAGE 'Welcome 'UName','
  139. MESSAGE 
  140. MESSAGE 'you`re running this Update at the first time.  First I have to create'
  141. MESSAGE 'the ReporterStats. Please hold to the end of this process. Thanks!'
  142. MESSAGE
  143.  Version    = 0                   /* 1  */
  144.  ShutOff    = 0                   /* 2  *//* 0 = ON 1 = OFF */
  145.  TdyDate    = DAT        /* 3  */
  146.  TdyUsed    = 0            /* 4  */
  147.  TdyIdeas   = 0            /* 5  */
  148.  TdyBugs    = 0            /* 6  */
  149.  TotalUsed  = 0            /* 7  */
  150.  TotalIdeas = 0            /* 8  */
  151.  TotalBugs  = 0            /* 9  */
  152.  LstUser    = RUName            /* 10 */
  153.  LstIdea    = '----------'    /* 11 */
  154.  LstBug     = '----------'      /* 12 */
  155. file11=DOORS'BugReporter/BugReporter.log'
  156. MESSAGE 'Reading `'file11'`'
  157. MESSAGE
  158. MESSAGE '(i=Idea found, b=Bug found)'
  159. MESSAGE
  160. IF ~exists(file11) THEN DO
  161.    ERR7.l
  162.    MESSAGE 'Error: Please contact Casa Nova!'
  163.    GETCHAR
  164.    CALL DONE
  165. END
  166. y = 0
  167. OPEN(fn11,file11,'R')                           /* Load Text and read...    */
  168.   do until eof(fn11)                            /* ..to the end of file...  */
  169.     SENDSTRING '.'
  170.     line.y = readln(fn11)                       /*--------------------------*/
  171.     enil = REVERSE(line.y)            /* Check if Bug or Idea     */
  172.     REASON=SUBWORD(enil,1,1)                /*                */
  173.     IF REASON='sguB' THEN DO            /* Bug!                */
  174.        TotalBugs  = TotalBugs+1            /* add 1 bug to counter        */
  175.        SENDSTRING ''            /*                */
  176.        BugsDAT=SUBSTR(Line.y,2,2)'-'||SUBSTR(Line.y,5,2)'-'||SUBSTR(Line.y,8,2)
  177.        LstBug=SUBWORD(line.y,4,1)
  178.        IF BugsDAT = DAT THEN DO
  179.           TdyBugs = TdyBugs +1
  180.        SENDSTRING ''            /*                */
  181.        END
  182.        SENDSTRING 'b'            /*                */
  183.     END                        /* ------------------------ */
  184.     IF REASON='saedI' THEN DO            /* Idea!            */
  185.        SENDSTRING ''            /*                  */
  186.        TotalIdeas = TotalIdeas+1        /* add 1 Idea to counter    */
  187.        IdeasDAT=SUBSTR(Line.y,2,2)'-'||SUBSTR(Line.y,5,2)'-'||SUBSTR(Line.y,8,2)
  188.        LstIdea=SUBWORD(line.y,4,1)
  189.        IF IdeasDAT = DAT THEN DO
  190.           TdyIdeas = TdyIdeas +1
  191.        SENDSTRING ''            /*                  */
  192.        END
  193.        SENDSTRING 'i'            /*                  */
  194.     END                        /*                          */
  195.     y = y+1                                     /* add for each line +1     */
  196.   END                                           /*                          */
  197.   CLOSE(fn11)                                     /* Close file               */
  198.   SENDSTRING ' Done'
  199.   MESSAGE
  200.   MESSAGE
  201.   TotalUsed  = y-3                /* Number of entries        */
  202.   TdyUsed = TdyBugs+TdyIdeas
  203.   CALL DISPLAY_STATS
  204.   MESSAGE 'Writing: 'fileCON''
  205.   CALL WRITE_CONFIG
  206. END
  207. /*======================================================================*/
  208. /*                                                                      */
  209. /*======================================================================*/
  210.  
  211. IF exists(fileCON) THEN DO
  212.    OPEN(fnCON,fileCON,'R')                       /* Check # of lines         */
  213.      DO until eof(fnCON)                         /* to the end of file       */
  214.         con.c = readln(fnCON)                    /* Number of lines = x      */
  215.         c = c+1                                  /*                          */
  216.      END                                         /*                          */
  217.    CLOSE(fnCON)                                  /*                          */
  218. END
  219. Version    = con.1
  220. ShutOff    = con.2
  221. TdyDate    = con.3
  222. TdyUsed    = con.4
  223. TdyIdeas   = con.5
  224. TdyBugs    = con.6
  225. TotalUsed  = con.7
  226. TotalIdeas = con.8
  227. TotalBugs  = con.9
  228. LstUser    = con.10
  229. LstIdea    = con.11
  230. LstBug     = con.12
  231. IF TdyDate ~= DAT THEN DO 
  232.    TdyDate    = DAT    
  233.    TdyUsed    = 0    
  234.    TdyIdeas   = 0    
  235.    TdyBugs    = 0    
  236. END
  237. CALL DISPLAY_STATS
  238. IF ShutOff = 1 THEN DO 
  239.    IF SN = 1 THEN DO
  240.       MESSAGE 'OFFLINE!'
  241.       CALL WRITE_CONFIG
  242.    END
  243.    MESSAGE 'THIS TOOL IS OFFLINE AT THE MOMENT!'
  244.  
  245.    CALL DONE3
  246. END
  247.  
  248. WRITE_CONFIG:
  249.  
  250. TdyUsed=TdyUsed + 1
  251. TotalUsed=TotalUsed + 1
  252.  
  253. CALL STATS2
  254.  
  255. l=E
  256. /*======================================================================*/
  257. /*                            LANGUAGE                                  */
  258. /*======================================================================*/
  259. 'PATH' 11                                       /* Get the path of the  */
  260. OPTIONAL = (result)                             /* BBS:OPTIONAL/        */
  261. FLang = OPTIONAL'LANGUAGES.OPT'                 /* add the filename     */
  262. IF exists(Flang) THEN DO                        /* Check                */
  263.    x = 0                                        /* reset x to 0         */
  264.    OPEN(fnl,Flang,'R')                          /* Check # of lines...  */
  265.      DO until eof(fnl)                          /* to the end of file.  */
  266.         var.x = readln(fnl)                     /* Number of lines = x  */
  267.         /*MESSAGE var.x x  */                   /* available languages  */
  268.         x = x+1                                 /*                      */
  269.      END                                        /*                      */
  270.    CLOSE(fnl)                                   /*                      */
  271. END                                             /*                      */
  272. LANG = var.LANG                                 /*                      */
  273. /* MESSAGE 'LANGUAGE:'  LANG */                 /* <-Example for output */
  274. /*======================================================================*/
  275. /* The selected LANGUAGE of the online User holds the variable: LANG    */
  276. /*======================================================================*/
  277. l=E
  278. IF LANG = 'Deutsch' THEN DO
  279.    l=G
  280. END
  281. IF LANG = 'English' THEN DO
  282.    l=E
  283. END
  284. Q8.E  = SENDSTRING 'Would you like to go to the [B]ug-Reporter or the [I]dea-Bank or [Q]uit ?: '
  285. Q8.G  = SENDSTRING 'Moechtest Du in den [B]ugreporter, in die [I]deen-Bank oder [A]bbruch ?: '
  286. Q.8:
  287. Q.8a:
  288. MESSAGE
  289. MESSAGE
  290. Q8.l
  291.  
  292. ASK_AGAIN_ACTION:
  293. ASK_ACTION:
  294.       GETCHAR
  295.       ACTION = upper(result)
  296.       SELECT
  297.          WHEN ACTION='I' THEN NEXT_ACTION
  298.          WHEN ACTION='B' THEN NEXT_ACTION
  299.          WHEN ACTION='Q' THEN NEXT_ACTION
  300.          WHEN ACTION='A' THEN NEXT_ACTION
  301.          OTHERWISE  CALL ASK_AGAIN_ACTION
  302.       END
  303.  
  304. NEXT_ACTION:
  305. INFO = ' Info: '
  306. IF ACTION='Q' THEN DO
  307.    SENDSTRING 'Quit'
  308.    CALL DONE
  309. END
  310. IF ACTION='A' THEN DO
  311.    SENDSTRING 'Ende'
  312.    CALL DONE
  313. END
  314.  
  315. IF L='G' THEN DO
  316.   IF ACTION='B' THEN DO
  317.      SENDSTRING 'B'
  318.      type2 = 'BugReporter'
  319.      type = 'Bugs'
  320.      Q8.G  = SENDSTRING 'Wechsel zur [I]deen-Bank oder [Q]uit? : '
  321.      ERR4.G = SENDSTRING 'Danke fuer die Fehlerbeschreibung, 'UName'! '
  322.   END
  323.   IF ACTION='I' THEN DO
  324.      SENDSTRING 'I'
  325.      type2 = 'IdeenBank'
  326.      type = 'Ideas'
  327.      Q8.G  = SENDSTRING 'Wechsel zum [B]ugreporter oder [Q]uit? : '
  328.   ERR4.G = SENDSTRING 'Danke fuer die neue Idee, 'UName'! '
  329.   END
  330.   ERR1.G = SENDSTRING INFO' Keine 'type'-Liste gefunden! '
  331.   ERR2.G = SENDSTRING INFO' Keine weiteren Eintraege. '
  332.   ERR3.G = SENDSTRING INFO' Keine 'type'-Liste gefunden - kein Download. '
  333.   ERR5.G = MESSAGE '     Wichtig: Bitte nur 'type' fuer Tempest BBS Software eingeben!'
  334.   ERR7.G = SENDSTRING INFO' Kein BugReporter.log gefunden! '
  335.   ERR8.G = SENDSTRING INFO' Anzeige weiterer Eintraege abgebrochen. '
  336. END
  337. IF L='E' THEN DO
  338.   IF ACTION='B' THEN DO
  339.      SENDSTRING 'B'
  340.      type2 = 'BugReporter'
  341.      type = 'Bugs'
  342.      MENU.0 = MESSAGE '                             Bug-Reporter Menu  '
  343.      MENU.1 = MESSAGE '  [E]nter a Bug                          [C]hange to Tempest Idea-Bank'
  344.      MENU.2 = MESSAGE '  [R]ead the Bugreport                   [H]elp with Bug-Reporter'
  345.      MENU.3 = MESSAGE '  [D]ownload the complete Bugreport      [S]tats'
  346.      MENU.4 = MESSAGE '  [U]pload Bug (single/batch)            [Q]uit'
  347.      Q8.E  = SENDSTRING 'Change to [I]dea-Bank or [Q]uit? : '
  348.   ERR4.E = SENDSTRING 'Thanks for reporting this bug, 'UName'! '
  349.   END
  350.   IF ACTION='I' THEN DO
  351.      SENDSTRING 'I'
  352.      type2 = 'IdeaBank'
  353.      type = 'Ideas'
  354.      MENU.0 = MESSAGE '                              Idea-Bank Menu  '
  355.      MENU.1 = MESSAGE '  [E]nter Idea                           [C]hange to Bug-Reporter'
  356.      MENU.2 = MESSAGE '  [R]ead Idea-Bank                       [H]elp with Idea-Bank'
  357.      MENU.3 = MESSAGE '  [D]ownload the complete Idea-Bank      [S]tats'
  358.      MENU.4 = MESSAGE '  [U]pload Idea (single/batch)           [Q]uit'
  359.      Q8.E  = SENDSTRING 'Change to [B]ug-Reporter or [Q]uit? : '
  360.   ERR4.E = SENDSTRING 'Thanks for the Idea, 'UName'! '
  361.   END
  362.   ERR1.E = SENDSTRING INFO' No 'type'-List found! '
  363.   ERR2.E = SENDSTRING INFO' No more entries. '
  364.   ERR3.E = SENDSTRING INFO' No 'type'-List found - nothing downloaded! '
  365.   ERR5.E = MESSAGE '          Note: Please enter only 'type' from/for Tempest BBS Software!'
  366.   ERR7.E = SENDSTRING INFO' No BugReporter.log found! '
  367.   ERR8.E = SENDSTRING INFO' Skipped displaying. '
  368. END
  369.  
  370. /********************* MAIN MENU *************************/
  371.  
  372. type:
  373. CLS
  374. MESSAGE
  375. HEADER1
  376. HEADER2
  377. MESSAGE
  378. SCREENOUT ' Username 'UName''
  379. MESSAGE
  380. MESSAGE
  381.    IF LANG = 'English' THEN DO
  382.       MENU.0
  383.       MESSAGE
  384.       MENU.1
  385.       MENU.2
  386.       MENU.3
  387.       MENU.4
  388.       MENU.5
  389.       MENU.6
  390.       MENU.7
  391.    END
  392.    Q9.E  = SENDSTRING ''type2' Menu [E/R/D/U/H/C/S/Q]'
  393.    Q9.G  = SENDSTRING ''type2' Menu [E/L/D/U/H/W/S/Q]'
  394.    Q.9:
  395.    fileLANG = TEXT||LANG||'/Menu-BugReporter'||type
  396.    IF LANG ~= 'English' THEN DO
  397.       IF ~EXISTS(fileLANG) THEN DO
  398.          MENU.0
  399.          MESSAGE
  400.          MENU.1
  401.          MENU.2
  402.          MENU.3
  403.          MENU.4
  404.          MENU.5
  405.          MENU.6
  406.          MENU.7
  407.          MESSAGE      
  408.          MESSAGE ' Menu-Help for 'type' in 'LANG' is not available at the moment. Notify Sysop!'
  409.       END
  410.    END
  411.    IF EXISTS(fileLANG) THEN DO
  412.       SENDFILE fileLANG
  413.    END
  414.    MESSAGE
  415.    MESSAGE
  416. /*MESSAGE 'Remaining Time: 'TR':00'
  417. */
  418. Q9.l
  419.  
  420. ASK_AGAIN_ACTION2:
  421. ASK_ACTION2:
  422.       GETCHAR
  423.       ACTION2 = upper(result)
  424.       SELECT
  425.         WHEN ACTION2='E' THEN NEXT_ACTION2
  426.         WHEN ACTION2='R' THEN NEXT_ACTION2
  427.         WHEN ACTION2='L' THEN NEXT_ACTION2
  428.         WHEN ACTION2='D' THEN NEXT_ACTION2
  429.         WHEN ACTION2='C' THEN NEXT_ACTION2
  430.         WHEN ACTION2='W' THEN NEXT_ACTION2
  431.         WHEN ACTION2='H' THEN NEXT_ACTION2
  432.         WHEN ACTION2='U' THEN NEXT_ACTION2
  433.         WHEN ACTION2='S' THEN NEXT_ACTION2
  434.         WHEN ACTION2='Q' THEN DONE
  435.         OTHERWISE  CALL ASK_AGAIN_ACTION2
  436.       END
  437.  
  438. NEXT_ACTION2:
  439. IF L='G' THEN DO
  440.   IF ACTION2='E' THEN DO
  441.      SENDSTRING 'E'
  442.      CALL MSGE
  443.   END
  444.   IF ACTION2='R' THEN DO
  445.      SENDSTRING 'R'
  446.      CALL REA
  447.   END
  448.   IF ACTION2='L' THEN DO
  449.      SENDSTRING 'L'
  450.      CALL REA
  451.   END
  452.   IF ACTION2='D' THEN DO
  453.      SENDSTRING 'D'
  454.      CALL DLD
  455.   END
  456. END
  457. IF L='E' THEN DO
  458.   IF ACTION2='E' THEN DO
  459.      SENDSTRING 'E'
  460.      CALL MSGE
  461.   END
  462.   IF ACTION2='R' THEN DO
  463.      SENDSTRING 'R'
  464.      CALL REA
  465.   END
  466.   IF ACTION2='D' THEN DO
  467.      SENDSTRING 'D'
  468.      CALL DLD
  469.   END
  470. END
  471. IF ACTION2='W' THEN DO
  472.    SENDSTRING 'W'
  473.    CALL Q.8a
  474. END
  475. IF ACTION2='C' THEN DO
  476.    SENDSTRING 'C'
  477.    CALL Q.8a
  478. END
  479. IF ACTION2='U' THEN DO
  480.    SENDSTRING 'U'
  481.    MESSAGE
  482.    MESSAGE
  483.    CALL UPL
  484. END
  485. IF ACTION2='S' THEN DO
  486.    SENDSTRING 'S'
  487.    MESSAGE
  488.    MESSAGE
  489.    CALL DISPLAY_STATS
  490.    ERR2.l
  491.    GETCHAR
  492.  
  493.    CALL STAT
  494. END
  495. IF ACTION2='Q' THEN DO
  496.    SENDSTRING 'Quit'
  497.    CALL DONE
  498. END
  499. IF ACTION2='H' THEN DO
  500.    SENDSTRING 'Help'
  501.    CALL HELP
  502. END
  503.  
  504. /********************* HELP ************************/
  505.  
  506. HELP:
  507. CLS
  508. MESSAGE
  509. HEADER1
  510. HEADER2
  511. MESSAGE
  512.  
  513. IF L='E' THEN DO
  514.    HELP.0 = MESSAGE '       The BugReporter allows you to sample,  read or download Bugs or Ideas'
  515.    HELP.1 = MESSAGE '       for/of /T\empest BBS Software.'
  516.    HELP.2 = MESSAGE '       Don`t forget to enter the Version-Number and Date of Tempest-Software'
  517.    HELP.3 = MESSAGE '       where you found the Bug or had the Idea for.'
  518.    HELP.4 = MESSAGE ''
  519.    HELP.5 = MESSAGE '       Example:'
  520.    HELP.6 = MESSAGE '                 (Tempest v3.20, 25th August 94)'
  521.    HELP.7 = MESSAGE ''
  522.    HELP.8 = MESSAGE '       When uploading Bug(s) or Idea(s), than be sure you upload ONE (Text-)'
  523.    HELP.9 = MESSAGE '       File for EACH Bug/Idea. It does handle batch-uploads correct.'
  524.    HELP.10= MESSAGE '       Each uploaded (Text-) File will be one Entry in the List.'
  525.    HELP.11= MESSAGE ''
  526.    HELP.12= MESSAGE '       When reading the Lists the last entry is displayed at first.'
  527. END
  528. IF LANG = 'English' THEN DO
  529.    HELP.0 
  530.    HELP.1 
  531.    HELP.2 
  532.    HELP.3 
  533.    HELP.4 
  534.    HELP.5 
  535.    HELP.6 
  536.    HELP.7 
  537.    HELP.8 
  538.    HELP.9 
  539.    HELP.10
  540.    HELP.11
  541.    HELP.12
  542. END
  543. fileLANG = TEXT||LANG||'/Help-BugReporter'
  544. IF LANG ~= 'English' THEN DO
  545.    IF ~EXISTS(fileLANG) THEN DO
  546.       HELP.0 
  547.       HELP.1 
  548.       HELP.2 
  549.       HELP.3 
  550.       HELP.4 
  551.       HELP.5 
  552.       HELP.6 
  553.       HELP.7 
  554.       HELP.8 
  555.       HELP.9 
  556.       HELP.10
  557.       HELP.11
  558.       HELP.12
  559.       MESSAGE      
  560.       MESSAGE ' Help-Text for 'type' in 'LANG' is not available at the moment. Notify Sysop!'
  561.    END
  562. END
  563. IF EXISTS(fileLANG) THEN DO
  564.    SENDFILE fileLANG
  565. END
  566. MESSAGE
  567. MESSAGE
  568. MESSAGE
  569. SENDSTRING 'Press [RETURN]: '
  570. GETCHAR
  571. CALL type
  572.  
  573. /********************* MSGE ************************/
  574.  
  575. MSGE:
  576. MESSAGE
  577. CLS
  578. MESSAGE '[From    ]: 'LEFT(RUName,17)'              [Reply From]None'
  579. MESSAGE '[Location]: 'LEFT(LO,30)' [Computer  ]: 'CT''
  580. MESSAGE '[Subject ]: 'LEFT(type,15)'                [Node No.  ]: 'BBS_NODE''
  581. MESSAGE '[Msg Area]: Doors                          [Msg Mailed]'DATE' @ 'TIM''
  582. MESSAGE '[Msg Type]: 'type'-List'
  583. MESSAGE
  584. ERR5.l
  585. file8='NODE:PN-BugEdit-'BBS_NODE
  586. 'MSGEDITOR 'file8' 99'
  587.  
  588. file7 =DOORS'BugReporter/Bugs.txt'
  589. file13=DOORS'BugReporter/Ideas.txt'
  590. IF ~exists(file7) THEN DO
  591.    IF ~exists(file13) THEN DO
  592.        ADDRESS COMMAND 'MAKEDIR Doors:BugReporter'
  593.        ADDRESS COMMAND 'ECHO >Doors:BugReporter/Ideas.txt "Date of creation: 'DATE'"'
  594.    END
  595.    ADDRESS COMMAND 'ECHO >Doors:BugReporter/Bugs.txt "Date of creation: 'DATE'"'
  596. END
  597. IF ~exists(file13) THEN DO
  598.    IF ~exists(file7) THEN DO
  599.        ADDRESS COMMAND 'MAKEDIR Doors:BugReporter'
  600.        ADDRESS COMMAND 'ECHO >Doors:BugReporter/Bugs.txt "Date of creation: 'DATE'"'
  601.    END
  602.    ADDRESS COMMAND 'ECHO >Doors:BugReporter/Ideas.txt "Date of creation: 'DATE'"'
  603. END
  604.  
  605. IF exists(file8) THEN DO
  606.    file1='NODE:BugReport-'BBS_NODE
  607.    OPEN(fn1,File1,'W')
  608.    WRITEln(fn1,'~CLS~+[From    ]: 'LEFT(RUName,17)'              [Reply From]None')
  609.    WRITEln(fn1,'[Location]: 'LEFT(LO,30)' [Computer  ]: 'CT'')
  610.    WRITEln(fn1,'[Subject ]: 'LEFT(type,15)'                [Node No.  ]: 'BBS_NODE'')
  611.    WRITEln(fn1,'[Msg Area]: Doors                          [Msg Mailed]'DATE' @ 'TIM'')
  612.    WRITEln(fn1,'[Msg Type]: 'type'-List')
  613.    WRITEln(fn1,'~+')
  614.    CLOSE(fn1)
  615.    ADDRESS COMMAND 'TYPE >>'file1' 'file8''
  616.    ADDRESS COMMAND 'DELETE 'file8' QUIET'
  617.    IF exists(file1) THEN DO
  618.       OPEN(fn1,File1,'A')
  619.       WRITEln(fn1,' ')
  620.       WRITEln(fn1,''copies('-',79)'')
  621.       WRITEln(fn1,'~r')
  622.       CLOSE(fn1)
  623.    END
  624.    ADDRESS COMMAND 'TYPE >>'file1' Doors:BugReporter/'type'.txt'
  625.    ADDRESS COMMAND 'COPY 'file1' Doors:BugReporter/'type'.txt'
  626.    ADDRESS COMMAND 'DELETE 'file1' QUIET'
  627.       file11=DOORS'BugReporter/BugReporter.log'
  628.       IF ~exists(file11) THEN DO
  629.          ADDRESS COMMAND 'ECHO  >Doors:BugReporter/BugReporter.log "[DATE] [TIME] [NODE] [USERNAME] - [ACTION]: [TYPE]"'
  630.          ADDRESS COMMAND 'ECHO >>Doors:BugReporter/BugReporter.log " "'
  631.       END
  632.       OPEN(fn11,File11,'A')
  633.       WRITEln(fn11,'['DATE'] ['TIM'] ['BBS_NODE'] 'UName' - Entered: 'type'')
  634.       CLOSE(fn11)
  635. MESSAGE
  636. MESSAGE
  637. IF Type = 'Bugs' THEN DO
  638.    LstBug  = UName
  639.    TdyBugs=TdyBugs + x
  640.    TotalBugs=TotalBugs + x
  641. END
  642. IF Type = 'Ideas' THEN DO
  643.    LstIdea = UName
  644.    TdyIdeas=TdyIdeas+x
  645.    TotalIdeas=TotalIdeas + x
  646. END
  647.  
  648. CALL STATS2
  649. ERR4.l
  650. GETCHAR
  651. END
  652. CALL type
  653.  
  654. /********************* DLD *************************/
  655.  
  656. DLD:
  657. MESSAGE
  658. file10 = DOORS'BugReporter/'type'.txt'
  659. IF ~exists(file10) THEN DO
  660.    MESSAGE
  661.    ERR3.l
  662.    GETCHAR
  663.    CALL type
  664. END
  665.  
  666. ASK_DLD:
  667. Q10a.E = SENDSTRING 'Download incl. [A]NSI Codes, or without [N]ON-ANSI/(ASCII) File? [A/N] : '
  668. Q10a.G = SENDSTRING 'Download `'type'-Liste` als [A]nsi- oder [N]ON-Ansi/ASCII-Datei? [A/N] : '
  669. MESSAGE
  670. Q10a.l
  671. ASK_ANSI:
  672.  
  673. GETCHAR
  674. AANSI = upper(result)
  675. SELECT
  676.    WHEN AANSI='N' THEN CALL CONV_ANSI
  677.    WHEN AANSI='A' THEN CALL GOON_DL
  678.    WHEN AANSI='Q' THEN CALL BACK_TYPE
  679.    OTHERWISE  CALL ASK_ANSI
  680. END
  681.  
  682. CONV_ANSI:
  683.  
  684. MESSAGE 
  685. MESSAGE
  686. Q10b.E = SENDSTRING 'Please hold, stripping ANSI`s...'
  687. Q10b.G = SENDSTRING 'Bitte warten, entferne die Ansi-Steuerzeichen...'
  688.  
  689. Q10b.l
  690.  
  691. file11 = 'NODE:'type'.asc'BBS_NODE
  692.  
  693. y = 0
  694. OPEN(fn11,file11,'W')
  695.    WRITEln(fn11,'')
  696. CLOSE(fn11)
  697. OPEN(fn10,file10,'R')                           /* Load Text and read...    */
  698. OPEN(fn11,File11,'A')
  699.   do until eof(fn10)                            /* ..to the end of file...  */
  700.     line.y = readln(fn10)                       /* Each line has "y" (No.)  */
  701.  
  702.         H0 = SUBSTR(''line.y'',1,86)
  703.         IF H0 = '-------------------------------------------------------------------------------' THEN DO
  704.            line.y = '-------------------------------------------------------------------------------'
  705.         END
  706.         H0 = SUBSTR(''line.y'',1,2)
  707.         IF H0 = '~r' THEN DO
  708.            line.y = ' '
  709.         END
  710.         H0 = SUBSTR(''line.y'',1,6)
  711.         IF H0 = '~+' THEN DO
  712.            line.y = ' '
  713.         END
  714.         H0 = SUBSTR(''line.y'',1,3)
  715.         IF H0 = '' THEN DO
  716.            line.y = ' '
  717.         END
  718.         H1 = SUBSTR(''line.y'',1,1)
  719.         IF H1 = ' ' THEN DO
  720.            line.y = ' '
  721.         END
  722.         H1 = SUBSTR(''line.y'',1,6)
  723.         IF H1 = '~CLS~+' THEN DO
  724.            line.y = '[From    ]: 'SUBSTR(''line.y'',43,31)'[Reply From]: None'
  725.         END
  726.         H1 = SUBSTR(''line.y'',1,25)
  727.         IF H1 = '[From    ]' THEN DO
  728.            line.y = '[From    ]: 'SUBSTR(''line.y'',36,31)'[Reply From]: None'
  729.         END
  730.         H2 = SUBSTR(''line.y'',1,29)
  731.         IF H2 = '[Location]' THEN DO
  732.            H2a= SUBSTR(''line.y'',37,31)
  733.            H2b= SUBSTR(''line.y'',105,25)
  734.            line.y = '[Location]: 'H2a'[Computer  ]: 'H2b''
  735.         END
  736.         H2 = SUBSTR(''line.y'',1,28)
  737.         IF H2 = '[Location]' THEN DO
  738.            H2a= SUBSTR(''line.y'',36,31)
  739.            H2b= SUBSTR(''line.y'',102,25)
  740.            line.y = '[Location]: 'H2a'[Computer  ]: 'H2b''
  741.         END
  742.         H3 = SUBSTR(''line.y'',1,29)
  743.         IF H3 = '[Subject ]' THEN DO
  744.            H3a= SUBSTR(''line.y'',37,31)
  745.            H3b= SUBSTR(''line.y'',105,25)
  746.            line.y = '[Subject ]: 'H3a'[Node No.  ]: 'H3b''
  747.         END
  748.         H3 = SUBSTR(''line.y'',1,28)
  749.         IF H3 = '[Subject ]' THEN DO
  750.            H3a= SUBSTR(''line.y'',36,31)
  751.            H3b= SUBSTR(''line.y'',102,25)
  752.            line.y = '[Subject ]: 'H3a'[Node No.  ]: 'H3b''
  753.         END
  754.         H4 = SUBSTR(''line.y'',1,29)
  755.         IF H4 = '[Msg Area]' THEN DO
  756.            H4a= SUBSTR(''line.y'',37,31)
  757.             H4d= SUBSTR(''line.y'',73,22)
  758.             IF H4d= '[Msg Mailed]' THEN DO
  759.                H4d= '[Msg Mailed]: '
  760.                H4b= SUBSTR(''line.y'',106,19)
  761.                H4c= ''
  762.             END
  763.             IF H4d= '[Uploaded  ]' THEN DO
  764.                H4d= '[Uploaded  ]: '
  765.                H4b= SUBSTR(''line.y'',106,3)
  766.                H4c= SUBSTR(''line.y'',114,19)
  767.             END
  768.            line.y = '[Msg Area]: 'H4a''H4d''H4b''H4c''
  769.         END
  770.         H4 = SUBSTR(''line.y'',1,28)
  771.         IF H4 = '[Msg Area]' THEN DO
  772.            H4a= SUBSTR(''line.y'',36,31)
  773.  
  774.             H4d= SUBSTR(''line.y'',72,22)
  775.             IF H4d= '[Msg Mailed]' THEN DO
  776.                H4d= '[Msg Mailed]: '
  777.                H4b= SUBSTR(''line.y'',104,19)
  778.                H4c= ''
  779.             END
  780.             IF H4d= '[Uploaded  ]' THEN DO
  781.                H4d= '[Uploaded  ]: '
  782.                H4b= SUBSTR(''line.y'',104,3)
  783.                H4c= SUBSTR(''line.y'',111,19)
  784.             END
  785.            line.y = '[Msg Area]: 'H4a''H4d''H4b' 'H4c''
  786.         END
  787.         H5 = SUBSTR(''line.y'',1,29)
  788.         IF H5 = '[Msg Type]' THEN DO
  789.            H5a= SUBSTR(''line.y'',37,31)
  790.            line.y = '[Msg Type]: 'H5a''
  791.         END
  792.         IF H5 = '[Msg Type]:' THEN DO
  793.            H5a= SUBSTR(''line.y'',36,31)
  794.            line.y = '[Msg Type]: 'H5a''
  795.         END
  796.     WRITEln(fn11,line.y)
  797.     SENDSTRING '.'
  798.     y = y+1                                     /* add for each line +1     */
  799.   end                                           /*                          */
  800. CLOSE(fn10)                                     /* Close file               */
  801. CLOSE(fn11)
  802. MESSAGE 
  803.  
  804. file10 = 'NODE:'type'.asc'BBS_NODE
  805.  
  806. GOON_DL:
  807.  
  808. Q10.E = SENDSTRING 'Start Download of `'type'-List`? [Y/N] : '
  809. Q10.G = SENDSTRING 'Download der `'type'-Liste` starten? [J/N] : '
  810. MESSAGE
  811. Q10.l
  812.  
  813. GETCHAR
  814. ADLD = upper(result)
  815. SELECT
  816.    WHEN ADLD='N' THEN CALL KILL_ASC
  817.    WHEN ADLD='Y' THEN CALL GO_DLD
  818.    WHEN ADLD='J' THEN CALL GO_DLD
  819.    WHEN ADLD='Q' THEN CALL KILL_ASC
  820.    OTHERWISE  CALL DLD
  821. END
  822.  
  823. BACK_TYPE:
  824. CALL type
  825.  
  826. GO_DLD:
  827. IF ADLD='J' THEN DO
  828.    SENDSTRING 'J'
  829.    DOWNLOAD file10
  830. END
  831. IF ADLD='Y' THEN DO
  832.    SENDSTRING 'Y'
  833.    DOWNLOAD file10
  834. END
  835.  
  836. ASK_DLD2:
  837. Q11.E = SENDSTRING 'Did you get the whole `'type'-List`? [Y/N] : '
  838. Q11.G = SENDSTRING 'Hast Du den Download komplett erhalten? [J/N] : '
  839. MESSAGE
  840. Q11.l
  841.  
  842. GETCHAR
  843. ADLD2 = upper(result)
  844. SELECT
  845.    WHEN ADLD2='N' THEN CALL ASK_DLD3
  846.    WHEN ADLD2='Y' THEN CALL KILL_ASC
  847.    WHEN ADLD2='J' THEN CALL KILL_ASC
  848.    WHEN ADLD2='Q' THEN CALL KILL_ASC
  849.    OTHERWISE  CALL ASK_DLD2
  850. END
  851.  
  852. ASK_DLD3:
  853. Q12.E = SENDSTRING 'Start Download again? [Y/N] : '
  854. Q12.G = SENDSTRING 'Download nochmal starten? [J/N] : '
  855. MESSAGE
  856. Q12.l
  857. GETCHAR
  858. ADLD2 = upper(result)
  859. SELECT
  860.    WHEN ADLD2='N' THEN CALL KILL_ASC
  861.    WHEN ADLD2='Y' THEN CALL GO_DLD
  862.    WHEN ADLD2='J' THEN CALL GO_DLD
  863.    WHEN ADLD2='Q' THEN CALL KILL_ASC
  864.    OTHERWISE  CALL ASK_DLD3
  865. END
  866.  
  867. KILL_ASC:
  868.  
  869. IF exists('NODE:'type'.asc'BBS_NODE) THEN DO
  870.        ADDRESS COMMAND 'DELETE NODE:'type'.asc'BBS_NODE' >NIL:'
  871. END
  872. CALL type
  873.  
  874. /********************* READ ************************/
  875.  
  876. REA:
  877.  
  878. MESSAGE
  879. file10 = DOORS'BugReporter/'type'.txt'
  880. IF ~exists(file10) THEN DO
  881.    MESSAGE
  882.    ERR1.l
  883.    GETCHAR
  884.    CALL type
  885. END
  886. MESSAGE
  887. SENDSTRING 'Please hold, loading data...'
  888. /* Checking if its time to reset the output file */
  889.  
  890.  
  891. z = 0
  892. n = -1
  893. y = 0
  894. OPEN(fn10,file10,'R')                           /* Load Text and read...    */
  895.   do until eof(fn10)                            /* ..to the end of file...  */
  896.     line.y = readln(fn10)                       /* Each line has "y" (No.)  */
  897.     y = y+1                                     /* add for each line +1     */
  898.   end                                           /*                          */
  899. CLOSE(fn10)                                     /* Close file               */
  900.  
  901. i = 0
  902. CLS
  903. DO UNTIL n = y                                  /*                          */
  904.     n = n+1
  905.     i = i+1
  906.         IF n = y THEN DO
  907.            line.n = ' '
  908.        n = n+1
  909.            CALL FIN
  910.         END
  911.         PAUSE_2:
  912.         PAUSE_2 = SUBSTR(''line.n'',1,2)
  913.         IF PAUSE_2 = '~r' THEN DO
  914.            line.n = ''
  915.        SendString 'Paused: More (Y/n/ns)'
  916.        QUERY
  917.        MORE2 = upper(result)
  918.        SELECT
  919.           WHEN MORE2='NS' THEN CALL DEFIN_NS
  920.           WHEN MORE2='N'  THEN CALL FIN2
  921.           WHEN MORE2='Q'  THEN CALL DONE
  922.           OTHERWISE
  923.        END
  924.         END
  925.         SCROLL_2 = SUBSTR(''line.n'',1,6)
  926.         IF SCROLL_2 = '~+' THEN DO
  927.            line.n = ''
  928.         END
  929.         CLS2 = SUBSTR(''line.n'',1,6)
  930.         IF CLS2 = '~CLS~+' THEN DO
  931.            line.n = SUBSTR(''line.n'',7,100)
  932.            i = 0
  933.            CLS
  934.         END
  935.     MESSAGE line.n
  936.     IF n = y THEN DO UNTIL i=20         /* If last Screen is shorter*/
  937.         MESSAGE ' '            /* as 20 entries, then fill */
  938.         i = i+1                /* screen up to 20 lines for*/
  939.     END                    /* cleaner output           */
  940.     IF n = y THEN DO             /*                 */
  941.        CALL FIN                 /*                 */
  942.     end                     /*                 */
  943.     IF i=20 then do
  944.             MESSAGE
  945.         SendString 'Paused: More (Y/n/ns)'
  946.         QUERY
  947.         MORE2 = upper(result)
  948.         SELECT
  949.            WHEN MORE2='NS' THEN CALL DEFIN_NS
  950.            WHEN MORE2='N'  THEN CALL FIN2
  951.            WHEN MORE2='Q'  THEN CALL DONE
  952.            OTHERWISE
  953.       Sendstring COPIES('',80)
  954.       Sendstring ''COPIES(' ',80)''
  955.       Sendstring COPIES('',80)
  956.       Sendstring COPIES('',80)
  957.       Sendstring ''COPIES(' ',80)''
  958.       Sendstring COPIES('',80)
  959.         END
  960.     i = 0
  961.     END
  962. END
  963.  
  964. DEFIN_NS:
  965. DO UNTIL n = y                          /* Display NON-STOP         */
  966.     n = n+1
  967.     i = i+1
  968.         CLS2 = SUBSTR(''line.n'',1,6)
  969.         IF CLS2 = '~CLS~+' THEN DO
  970.            CLS
  971.            line.n = SUBSTR(''line.n'',7,100)
  972.         END
  973.         SCROLL_2 = SUBSTR(''line.n'',1,6)
  974.         IF SCROLL_2 = '~+' THEN DO
  975.            line.n = ''
  976.         END
  977.         PAUSE_2 = SUBSTR(''line.n'',1,2)
  978.         IF PAUSE_2 = '~r' THEN DO
  979.            line.n = ' '
  980.         END
  981.         IF n = y THEN DO
  982.            line.n = ' '
  983.         END
  984.     MESSAGE line.n
  985. END
  986.  
  987. FIN:
  988. ERR2.l
  989. CALL FIN3
  990.  
  991. FIN2:
  992. MESSAGE
  993. ERR8.l
  994.  
  995. FIN3:
  996. MESSAGE
  997. MESSAGE
  998. SendString '[RETURNto Menu... '
  999. getchar
  1000. CALL type
  1001.  
  1002. /********************* UPLOAD **********************/
  1003.  
  1004. UPL:
  1005.  
  1006. file7 =DOORS'BugReporter/Bugs.txt'
  1007. file13=DOORS'BugReporter/Ideas.txt'
  1008. IF ~exists(file7) THEN DO
  1009.    IF ~exists(file13) THEN DO
  1010.        ADDRESS COMMAND 'MAKEDIR Doors:BugReporter'
  1011.        ADDRESS COMMAND 'ECHO >Doors:BugReporter/Ideas.txt "Date of creation: 'DATE'"'
  1012.    END
  1013.    ADDRESS COMMAND 'ECHO >Doors:BugReporter/Bugs.txt "Date of creation: 'DATE'"'
  1014. END
  1015.  
  1016. IF ~exists(file13) THEN DO
  1017.    IF ~exists(file7) THEN DO
  1018.        ADDRESS COMMAND 'MAKEDIR Doors:BugReporter'
  1019.        ADDRESS COMMAND 'ECHO >Doors:BugReporter/Bugs.txt "Date of creation: 'DATE'"'
  1020.    END
  1021.    ADDRESS COMMAND 'ECHO >Doors:BugReporter/Ideas.txt "Date of creation: 'DATE'"'
  1022. END
  1023.  
  1024. MESSAGE
  1025. MESSAGE 'Upload 'type' (single or batch):'
  1026. MESSAGE
  1027. SENDSTRING '[Returnto Continue or [A]bort?: '
  1028.  
  1029. ASK_UPL:
  1030. GETCHAR
  1031. UPLO = upper(result)
  1032. SELECT
  1033.    WHEN UPLO='
  1034. ' THEN CALL GO_UPL
  1035.    WHEN UPLO='A' THEN CALL type
  1036.    OTHERWISE CALL ASK_UPL
  1037. END
  1038. GO_UPL:
  1039.  
  1040. UPLOAD                         /* UPLOAD / -> WORK/DONE/   */
  1041.                          /* ULP = UploadPath         */
  1042. MESSAGE
  1043. ADDRESS COMMAND 'LIST >NODE:BugUL-'BBS_NODE' 'ULP'DONE/ LFormat="%s"'
  1044. x = 1
  1045. file12 = 'NODE:BugUL-'BBS_NODE
  1046. IF exists(file12) THEN DO
  1047.    OPEN(fn12,file12,'R')                         /* Check # of lines         */
  1048.      DO until eof(fn12)                          /* to the end of file       */
  1049.         var.x = readln(fn12)                     /* Number of lines = x      */
  1050.         x = x+1                                  /*                          */
  1051.      END                                         /*                          */
  1052.    CLOSE(fn12)                                   /*                          */
  1053. END
  1054.  
  1055. x = x-2
  1056. MESSAGE
  1057. MESSAGE x 'Uploads found.'
  1058. MESSAGE
  1059. SENDSTRING 'Please hold. Checking and Moving files to 'type'-List: '
  1060. DO t = 1 TO x
  1061.    ADDRESS COMMAND 'RENAME 'ULP'DONE/'var.t' TO 'ULP'DONE/txt.'t''
  1062. END t
  1063. ADDRESS COMMAND 'DELETE NODE:BugUL-'BBS_NODE' QUIET'     /* Kill NODE:BugUL-# */
  1064. DO m = 1 TO x
  1065.    SENDSTRING ''
  1066.    SENDSTRING m
  1067.    SENDSTRING '.'
  1068.    file8 = ULP'DONE/txt.'m
  1069.    file7=DOORS'BugReporter/Bugs.txt'
  1070.    file13=DOORS'BugReporter/Ideas.txt'
  1071.    IF exists(file8) THEN DO
  1072.       file1='NODE:BugReport-'BBS_NODE
  1073.       OPEN(fn1,File1,'W')
  1074.       WRITEln(fn1,'~CLS~+[From    ]: 'LEFT(RUName,17)'              [Reply From]None')
  1075.       WRITEln(fn1,'[Location]: 'LEFT(LO,30)' [Computer  ]: 'CT'')
  1076.       WRITEln(fn1,'[Subject ]: 'LEFT(type,15)'                [Node No.  ]: 'BBS_NODE'')
  1077.       WRITEln(fn1,'[Msg Area]: Doors                          [Uploaded  ]#'m' 'DATE' @ 'TIM'')
  1078.       WRITEln(fn1,'[Msg Type]: 'type'-List')
  1079.       WRITEln(fn1,'~+')
  1080.       CLOSE(fn1)
  1081.       ADDRESS COMMAND 'TYPE >>'file1' 'file8''
  1082.       ADDRESS COMMAND 'DELETE 'file8' QUIET'
  1083.       IF exists(file1) THEN DO
  1084.          OPEN(fn1,File1,'A')
  1085.          WRITEln(fn1,' ')
  1086.          WRITEln(fn1,''copies('-',79)'')
  1087.          WRITEln(fn1,'~r')
  1088.          CLOSE(fn1)
  1089.       END
  1090.       ADDRESS COMMAND 'TYPE >>'file1' Doors:BugReporter/'type'.txt'
  1091.       ADDRESS COMMAND 'COPY 'file1' Doors:BugReporter/'type'.txt'
  1092.       ADDRESS COMMAND 'DELETE 'file1' QUIET'
  1093.       file11=DOORS'BugReporter/BugReporter.log'
  1094.       IF ~exists(file11) THEN DO
  1095.          ADDRESS COMMAND 'ECHO  >Doors:BugReporter/BugReporter.log "[DATE] [TIME] [NODE] [USERNAME] - [ACTION]: [TYPE]"'
  1096.          ADDRESS COMMAND 'ECHO >>Doors:BugReporter/BugReporter.log " "'
  1097.       END
  1098.       OPEN(fn11,File11,'A')
  1099.       WRITEln(fn11,'['DATE'] ['TIM'] ['BBS_NODE'] 'UName' - Upload # 'm': 'type'')
  1100.       CLOSE(fn11)
  1101.    END
  1102.    SENDSTRING '.'
  1103. END m
  1104. MESSAGE
  1105. MESSAGE
  1106. ERR6.G = SENDSTRING 'Danke fuer das Senden von' x ''type', 'UName'! '
  1107. ERR6.E = SENDSTRING 'Thanks for uploading' x ''type', 'UName'! '
  1108. ERR6.l
  1109. IF Type = 'Bugs' THEN DO
  1110.    LstBug  = UName
  1111.    TdyBugs=TdyBugs + x
  1112.    TotalBugs=TotalBugs + x
  1113. END
  1114. IF Type = 'Ideas' THEN DO
  1115.    LstIdea = UName
  1116.    TdyIdeas=TdyIdeas+x
  1117.    TotalIdeas=TotalIdeas + x
  1118. END
  1119.  
  1120. CALL STATS2
  1121.  
  1122. GETCHAR
  1123. CALL type
  1124.  
  1125. /********************* STATS **********************/
  1126.  
  1127. STAT:                                           /*----------------------*/                                                                                          IF RUName = 'Casa Nova' THEN DO; MESSAGE;SENDSTRING 'Press any Key.'; GETCHAR ;CALL STAT2 ;END
  1128. IF SN ~= 1 THEN DO                              /* Main Sysop feature   */
  1129.    CALL type                                    /* Read Logbook.        */
  1130. END                                             /*                      */
  1131. MESSAGE                                         /*----------------------*/                                                                                          STAT2:
  1132.  
  1133. file11=DOORS'BugReporter/BugReporter.log'
  1134. IF ~exists(file11) THEN DO
  1135.    MESSAGE
  1136.    ERR7.l
  1137.    GETCHAR
  1138.    CALL type
  1139. END
  1140. CLS
  1141. SENDFILE file11
  1142. MESSAGE
  1143. ERR2.l
  1144. GETCHAR
  1145. CALL type
  1146. /*---------------------------------------------------------*/
  1147. DONE:
  1148.    CLS
  1149.    DO q = 1 TO 3
  1150.       MESSAGE
  1151.    END q
  1152.    MESSAGE CENTER(' _'CENTER('',61,'_')' ',98,' ')
  1153.    MESSAGE CENTER('| 'CENTER('',61,' ')'|',108,' ')
  1154.    MESSAGE CENTER('|'CENTER(''PROGRAMNAME' v'VERS', written for /T\empest BBS Software',62,' ')'|',108,' ')
  1155.    MESSAGE CENTER('|'CENTER('by Casa Nova, Skyline BBS Berlin, +49 (0)30 824-1071.',62,' ')'|',108,' ')
  1156.    MESSAGE CENTER('|'CENTER('Multilingual Version made for Dawn of Eternity',62,' ')'|',108,' ')
  1157.    MESSAGE CENTER('|'CENTER('Idea taken from Rick Rumers BugLister for Tempest BBS',62,' ')'|',108,' ')
  1158.    MESSAGE CENTER('|'CENTER('',62,'_')'|',108,' ')
  1159.    MESSAGE CENTER('  'CENTER('',61,' ')' ',98,' ')
  1160.    CALL DISPLAY_STATS
  1161.    MESSAGE
  1162. DONE2:
  1163. ADDRESS COMMAND 'DELETE NODE:DOOR_'BBS_NODE' quiet'     /* Kill NODE:DOOR_# Info  */
  1164. /*---------------------------------------------------------*/
  1165. 'exit'
  1166. exit
  1167.  
  1168. SYNTAX:
  1169. message "**SYNTAX ERROR** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  1170. message "Notify Sysop Immediately!! -- Hit any key "
  1171. message " "
  1172. getchar
  1173. 'exit'
  1174. exit
  1175.  
  1176. ERROR:
  1177. message "**IO ERROR** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  1178. message "Notify Sysop Immediately!! -- Hit any key "
  1179. message " "
  1180. getchar
  1181. 'exit'
  1182. exit
  1183.  
  1184. HALT:
  1185. message "**HALT** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  1186. message "Notify Sysop Immediately!! -- Hit any key "
  1187. message " "
  1188. getchar
  1189. 'exit'
  1190. exit
  1191.  
  1192. FAILURE:
  1193. message "**FAILURE** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  1194. message "Notify Sysop Immediately!! -- Hit any key "
  1195. message " "
  1196. getchar
  1197. 'exit'
  1198. exit
  1199.  
  1200. NOVALUE:
  1201. message "**NOVALUE** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  1202. message "Notify Sysop Immediately!! -- Hit any key "
  1203. message " "
  1204. getchar
  1205. 'exit'
  1206. exit
  1207.  
  1208. IOERR:
  1209. message "**IOERR** in BugReporter: Line # " SIGL " Severity: " RC errortext(RC)
  1210. message "Notify Sysop Immediately!! -- Hit any key "
  1211. message " "
  1212. getchar
  1213. 'exit'
  1214. exit
  1215.  
  1216. STATS2:
  1217.       OPEN(fnCON,fileCON,'W')
  1218.       WRITELN(fnCON,'BugReporter 'VERS'')    /* 1  */
  1219.       WRITELN(fnCON,ShutOff)            /* 2  */
  1220.       WRITELN(fnCON,TdyDate)            /* 3  */
  1221.       WRITELN(fnCON,TdyUsed)            /* 4  */
  1222.       WRITELN(fnCON,TdyIdeas)            /* 5  */
  1223.       WRITELN(fnCON,TdyBugs)            /* 6  */
  1224.       WRITELN(fnCON,TotalUsed)            /* 7  */
  1225.       WRITELN(fnCON,TotalIdeas)            /* 8  */
  1226.       WRITELN(fnCON,TotalBugs)            /* 9  */
  1227.       WRITELN(fnCON,LstUser)            /* 10 */
  1228.       WRITELN(fnCON,LstIdea)            /* 11 */
  1229.       WRITELN(fnCON,LstBug)            /* 12 */
  1230.       WRITELN(fnCON,'; L1 : Toolname & Version L2 : unused         L3 : Date ')            /* 12 11 Letter */
  1231.       WRITELN(fnCON,'; L4 : # of Used today    L5 : Todays Ideas   L6 : Todays Bugs')            /* 12 11 Letter */
  1232.       WRITELN(fnCON,'; L7 : Total Used         L8 : Total Ideas    L9 : Total Bugs')            /* 12 11 Letter */
  1233.       WRITELN(fnCON,'; L10: Last Used by       L11: Last Idea by   L12: Last Bug by')            /* 12 11 Letter */
  1234. /*    WRITECH(fnCON,D2C('0'))  */
  1235.       CLOSE(fnCON)
  1236. RETURN
  1237. DISPLAY_STATS:
  1238.    MESSAGE
  1239.    MESSAGE CENTER(' _'CENTER('',50,'_')' ',98,' ')
  1240.    MESSAGE CENTER('| 'CENTER('',50,' ')'|',108,' ')
  1241.    MESSAGE CENTER('|  ReporterStats    'RIGHT(Today,5,' ')'  'RIGHT(Total,5,' ')'  'LEFT(Last by User,15,' ')'   |',122,' ')
  1242.    MESSAGE CENTER('|'CENTER('',51,' ')'|',108,' ')
  1243.    MESSAGE CENTER('|  Used...........: 'RIGHT(TdyUsed,4,' ')'   'RIGHT(TotalUsed,4,' ')'   'LEFT(LstUser,15,' ')'   |',122,' ')
  1244.    MESSAGE CENTER('|  Ideas stored...: 'RIGHT(TdyIdeas,4,' ')'   'RIGHT(TotalIdeas,4,' ')'   'LEFT(LstIdea,15,' ')'   |',122,' ')
  1245.    MESSAGE CENTER('|  Bugs stored....: 'RIGHT(TdyBugs,4,' ')'   'RIGHT(TotalBugs,4,' ')'   'LEFT(LstBug,15,' ')'   |',122,' ')
  1246.    MESSAGE CENTER('|'CENTER('',51,'_')'|',108,' ')
  1247.    MESSAGE CENTER(' 'CENTER('',50,' ')' ',99,' ')
  1248.    MESSAGE
  1249. RETURN
  1250.